Moved definition of ComposeResultType inside constructor