fn can take data and will call if matched in args

[= example [fn (1) [true] (x) [false]]]
[example 1] ~true