/*
 * Copyright (c) 2011-13 Miles Sabin 
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package shapeless

trait Nats {

  type _1 = Succ[_0]
  val _1: _1 = new _1

  type _2 = Succ[_1]
  val _2: _2 = new _2

  type _3 = Succ[_2]
  val _3: _3 = new _3

  type _4 = Succ[_3]
  val _4: _4 = new _4

  type _5 = Succ[_4]
  val _5: _5 = new _5

  type _6 = Succ[_5]
  val _6: _6 = new _6

  type _7 = Succ[_6]
  val _7: _7 = new _7

  type _8 = Succ[_7]
  val _8: _8 = new _8

  type _9 = Succ[_8]
  val _9: _9 = new _9

  type _10 = Succ[_9]
  val _10: _10 = new _10

  type _11 = Succ[_10]
  val _11: _11 = new _11

  type _12 = Succ[_11]
  val _12: _12 = new _12

  type _13 = Succ[_12]
  val _13: _13 = new _13

  type _14 = Succ[_13]
  val _14: _14 = new _14

  type _15 = Succ[_14]
  val _15: _15 = new _15

  type _16 = Succ[_15]
  val _16: _16 = new _16

  type _17 = Succ[_16]
  val _17: _17 = new _17

  type _18 = Succ[_17]
  val _18: _18 = new _18

  type _19 = Succ[_18]
  val _19: _19 = new _19

  type _20 = Succ[_19]
  val _20: _20 = new _20

  type _21 = Succ[_20]
  val _21: _21 = new _21

  type _22 = Succ[_21]
  val _22: _22 = new _22
}