experimental function arrow substitutions