public RelatedUnit WithTime(int power)
        {
            var g = new[]
            {
                new PrefixedUnitInfo("MiliSecond", "ms", 0.001m),
                new PrefixedUnitInfo("Second", "s", 1m),
                new PrefixedUnitInfo("Minute", "min", 60, "Minutes"),
                new PrefixedUnitInfo("Hour", "h", 3600, "Hours"),
                new PrefixedUnitInfo("Year", "y", Time.SecondsPerYear, "Years")
            };

            var values = XValueTypeName.FromSplit(',', "Time,SquareTime");

            return(WithPowerDerivedUnits(power, g, values));
        }
        public RelatedUnit WithLengths(int power)
        {
            var g = new[]
            {
                new PrefixedUnitInfo("Meter", "m", 1m),
                new PrefixedUnitInfo("Km", "km", 1000m, "Kilometers"),
                new PrefixedUnitInfo("Dm", "dm", 0.1m, "Decimeters"),
                new PrefixedUnitInfo("Cm", "cm", 0.01m, "Centimeters"),
                new PrefixedUnitInfo("Mm", "mm", 0.001m, "Milimeters"),
                new PrefixedUnitInfo("Inch", "inch", 0.0254m, "Inches"),
                new PrefixedUnitInfo("Feet", "ft", 0.3048m, "Foot"),
                new PrefixedUnitInfo("Yard", "yd", 0.9144m, "Yards"),
                new PrefixedUnitInfo("Furlong", "fg", 201.1680m, "Furlongs"),
                new PrefixedUnitInfo("Fathom", "fh", 1.8288m),
                new PrefixedUnitInfo("Mile", "mil", 1609.344m, "Miles"),
                new PrefixedUnitInfo("NauticalMile", "nm", 1852m, "NauticalMiles")
            };

            return(WithPowerDerivedUnits(power, g, XValueTypeName.FromSplit(',', "Length,Area,Volume")));
        }