code: public Type.Callable extractLambdaType(SemanticType type, Environment environment,
  			ReadWriteTypeExtractor.Combinator<Type.Callable> combinator, SyntacticItem item) {
  		//
  		if (type != null) {
  			Type.Callable refT = rwTypeExtractor.apply(type, environment, combinator);
  			//
  			if (refT == null) {
  				syntaxError(item, EXPECTED_LAMBDA);
  			} else {
  				return refT;
  			}
  		}
  		return null;
  	}
docs: From an arbitrary type, extract the lambda type it represents which is either
  readable or writeable depending on the context.