A
f a b = g (h a) b
f = g . h
Size: a a a
A
A
f = head $ go [] [1..5]
go r [] = pure r
go r l = do
i <- l
if all (>i) r
then go (i:r) (delete i l)
else fail ""
A
A
к
A
к
TZ
A
O
AP
f :: a -> b -> [c]
g a b = head $ f a b
(head .) . f
AP
g a = head . f a
A
A
p
A
AA
> _ `asTypeOf` (\s -> concat . intersperse s)
... blah blah blah ...
Valid hole fits include
intercalate :: forall a. [a] -> [[a]] -> [a]
... blah blah blah ...
A
AA
DP