if the function returns a function, returns anything that it's not a boolean it breaks the purpose of the operation (i.e. the funOne might return a Object, but this Object represent a false value, this would actually evaluate the second function and return true if funTwo() returns true), another one is if the first function doesn't return (throws) this breaks completely.