package scalaz

sealed trait LongW extends PimpedType[Long] {
  import Scalaz._

  def  : LongMultiplication = multiplication(value)

  def digits: List[Digit] =
    if (value == 0) List(0L)
    else if (value < 10) List(value)
    else value % 10L :: (value / 10L digits)
}

trait Longs {
  implicit def LongTo(n: Long): LongW = new LongW {
    val value = n
  }
}