flatten the list of parents on construction to reduce lookup cost
allow immidiate values in method clauses