def _(tree, params, rest): val = translate(tree, NP_RULES) return FiA([val], {"essiivi"})
def _(tree, params, rest): val = translateRest(tree) return FiA([randomTranslation(tree["lemma"], "fi:n"), val])
def _(tree, params, rest): val = translateRest(tree) noun = FiP(fi_noun, flags=flags or set()) return FiA([noun, val], noun.flags)
def _(tree, params, rest): val = translateRest(tree) noun = FiP(fi_noun, {"monikko"}) return FiA([noun, val], noun.flags)
def _(tree, params, rest): val = translate(tree, rest) val2 = translate(params["prefix"], NP_RULES) return FiA([niTree(val2, {"nominatiivi"}), val], val.flags, compound=True)
def _(tree, params, rest): val = translateRest(tree) val2 = translate(params["subtree"], NP_RULES) return FiA([val, FiNI("kuin"), niTree(val2, {"nominatiivi"})], val.flags)
def _(tree, params, rest): val = translateRest(tree) val2 = translateUnknownPos(params["subtree"]) return FiA([val, FiNI("toisin kuten"), val2])
def _(tree, params, rest): val = translateRest(tree) val2 = translate(params["subtree"], NP_RULES) return FiA([niTree(val2, {"genetiivi"}), FiNI("toimesta"), val])
def _(tree, params, rest): val = translateRest(tree) val2 = translate(params["subtree"], VP_RULES) return FiA([FiP("olla"), niTree(val2, {"-tava"}), val])