// byteLength:
function byteLength(obj) {
            var length = 0;
            var value = 'lat' && obj && obj['lat'];
            var res;
            res = BufferRW_LengthResult.just(8);
            if (res.err)
                return res;
            length += res.length;
            var value = 'lng' && obj && obj['lng'];
            var res;
            res = BufferRW_LengthResult.just(8);
            if (res.err)
                return res;
            length += res.length;
            return BufferRW_LengthResult.just(length);
        }
// got expected byteLength for {"lat":3.141592653589793,"lng":2.718281828459045}: 16

// writeInto:
function writeInto(obj, buffer, offset) {
            var res = BufferRW_WriteResult.just(offset);
            var value = 'lat' && obj['lat'];
            var writeInto_remain = buffer.length - offset;
            if (writeInto_remain < 8) {
                res = BufferRW_WriteResult.shortError(8, writeInto_remain, offset);
            } else {
                buffer.writeDoubleBE(value, offset);
                res = BufferRW_WriteResult.just(offset + 8);
            }
            if (res.err)
                return res;
            offset = res.offset;
            var value = 'lng' && obj['lng'];
            var writeInto_2_remain = buffer.length - offset;
            if (writeInto_2_remain < 8) {
                res = BufferRW_WriteResult.shortError(8, writeInto_2_remain, offset);
            } else {
                buffer.writeDoubleBE(value, offset);
                res = BufferRW_WriteResult.just(offset + 8);
            }
            if (res.err)
                return res;
            offset = res.offset;
            return res;
        }
// got expected buffer for {"lat":3.141592653589793,"lng":2.718281828459045}:
// 00: 4009 21fb 5444 2d18 4005 bf0a 8b14 5769  @.!.TD-.@.....Wi

// readFrom:
function readFrom(buffer, offset) {
            var obj = _instanceDeps$StructRW$cons();
            var res;
            var readFrom_remain = buffer.length - offset;
            if (readFrom_remain < 8) {
                res = BufferRW_ReadResult.shortError(8, readFrom_remain, offset);
            } else {
                var readFrom_readDoubleBEFrom_value = buffer.readDoubleBE(offset);
                res = BufferRW_ReadResult.just(offset + 8, readFrom_readDoubleBEFrom_value);
            }
            if (res.err)
                return res;
            offset = res.offset;
            if ('lat') {
                obj['lat'] = res.value;
            }
            var res;
            var readFrom_2_remain = buffer.length - offset;
            if (readFrom_2_remain < 8) {
                res = BufferRW_ReadResult.shortError(8, readFrom_2_remain, offset);
            } else {
                var readFrom_2_readDoubleBEFrom_value = buffer.readDoubleBE(offset);
                res = BufferRW_ReadResult.just(offset + 8, readFrom_2_readDoubleBEFrom_value);
            }
            if (res.err)
                return res;
            offset = res.offset;
            if ('lng') {
                obj['lng'] = res.value;
            }
            return BufferRW_ReadResult(null, offset, obj);
        }
// got expected value back: {"lat":3.141592653589793,"lng":2.718281828459045}

// timing for 10000 rounds: { rw: { R: 7, W: 11 }, crw: { R: 9, W: 11 } }
