public static Subst Lookup(SpeciesFlow var, Lst <Subst> substs) // returns null for not found { if (substs is Cons <Subst> cons) { if (var.SameSpecies(cons.head.var)) { return(cons.head); } else { return(Lookup(var, cons.tail)); } } else { return(null); } }