factory Snowflake.fromDateTime(DateTime dt, DateTime epoch) { return Snowflake( epoch: epoch, value: dt.difference(epoch).inMilliseconds << 22); }