improve frp/join signature, do not use apply in Transform