I’d write this like:
let trx2 = data
|> Array.map<ICRC16Property, ICRC16MapItem>(_, func x = (x.name, x.value))
|> _.vals()
|> Map.fromIter<Text, ICRC16>(_, Map.thash);
and you can abbreviate as well:
let {fromIter; thash} = Map;
let trx2 = data
|> Array.map<ICRC16Property, ICRC16MapItem>(_, func x = (x.name, x.value))
|> _.vals()
|> fromIter<Text, ICRC16>(_, thash);