You can compact your code by applying some properties.
fun x -> x * 2
is
fun x -> (*) x 2
(operator as a function)
fun x -> (*) 2 x
(commutative)
(*) 2
(eta-reduction)
map
composition is the same as the composition of the functions to map, your first 3 maps could be written as:
Seq.map (string >> int >> (*) 2 >> string)
map
and then concat
is collect
map
and then sum
is sumBy
So your code could be:
"123456"
|> String.collect (string >> int >> (*) 2 >> string)
|> Seq.sumBy (string >> int)