-- it already exists https://hackage.haskell.org/package/base-4.18.0.0/docs/Data-Function.html#v:-38-
import Data.Function
apply = (&)
squared n = n * n
main = print $ 5 & squared -- print (squared 5)
-- very useless
apply x = \y -> y x
main = (apply "h") putStrLn