if (strcmp(type, @encode(CGVector)) == 0) {
		CGVector returnValue = value.toCGVector;
		[invocation setReturnValue: &returnValue];
		return YES;
	} else if (strcmp(type, @encode(CGAffineTransform)) == 0) {
		CGAffineTransform returnValue = value.toCGAffineTransform;
		[invocation setReturnValue: &returnValue];
		return YES;
	} else if (strcmp(type, @encode(CGAffineTransformComponents)) == 0) {
		CGAffineTransformComponents returnValue = value.toCGAffineTransformComponents;
		[invocation setReturnValue: &returnValue];
		return YES;
	}