private ITypeConfigSyntax <T> MapInternal(int offset, ITypeMapExpression expression)
        {
            if (offset < 0)
            {
                throw new ArgumentOutOfRangeException(nameof(offset));
            }

            var builder = expression.GetTypeMapperBuilder();

            builder.Offset = offset;
            typeMapBuilders.Add(builder);

            lastOffset = Math.Max(offset, lastOffset) + builder.CalcSize();

            return(this);
        }
 ITypeConfigSyntax <T> ITypeConfigSyntax <T> .Map(int offset, ITypeMapExpression expression)
 {
     return(MapInternal(offset, expression));
 }
        // Mapper

        ITypeConfigSyntax <T> ITypeConfigSyntax <T> .Map(ITypeMapExpression expression)
        {
            return(MapInternal(lastOffset, expression));
        }