boolean (Object o) { if (this == o) return true; if (!(o instanceof FunctionalExpressionKey)) return false; FunctionalExpressionKey key = (FunctionalExpressionKey)o; if (lambdaParameterCount != key.lambdaParameterCount) return false; if (lambdaReturnType != key.lambdaReturnType) return false; if (!knownType.equals(key.knownType)) return false; return true; }