return (type.matches(toMatch.getClass(), TypePattern.DYNAMIC)).alwaysTrue();
return type.matchesSubtypes(toMatch.getClass());
	public boolean matchesDynamically(Object thisObject, Object targetObject,			Object[] args) {		Object toMatch = isThis ? thisObject : targetObject; 		if (toMatch == null) return false;		return (type.matches(toMatch.getClass(), TypePattern.DYNAMIC)).alwaysTrue();	}