add typealias for functors, fma, and ifelse