Oops, argument matching on the bootstrapper actually failed for arguments with names supplied. Also made some changes to locating arguments via their type, an issue arose if the argument was a Type itself and the ctor was looking for a Type, Type.GetType() is a RuntimeType rather than a Type, so that was simply failing to locate the argument, also switched binding to a method to just using a function rather than an expression.