static LS ai_spaceToSpace(S space1, S space2, Collection inputs, O... _) { ret map(s -> ai_spaceToSpace(space1, space2, s, _), inputs); } sS ai_spaceToSpace(S space1, S space2, S input, O... _) { S userName = optPar userName(_, 'usery); S computerName = optPar computerName(_, 'computery); if (eq(space1, 'user) && eq(space2, 'objective)) ret switcheroo_youToName(computerName, switcheroo_iToName(userName, input)); if (eq(space1, 'objective) && eq(space2, 'computer)) ret switcheroo_nameToYou(userName, switcheroo_nameToI(computerName, input)); ret input; }