This doesn't account for alignment and we're getting a native constructor soon. https://github.com/dotnet/corefx/issues/24343