function adaptor: composable, with basis case, and now with delayed semantic resolution via accumulated parameter list