If your list is not heterogeneous, you can just implement it like in 
[nimfp](https://github.com/vegansk/nimfp/blob/master/src/fp/list.nim#L10-L20)
    
    
    type
      ListNodeKind = enum
        lnkNil, lnkCons
      List*[T] = ref object
        ## List ADT
        case kind: ListNodeKind
        of lnkNil:
          discard
        of lnkCons:
          value: T
          next: List[T]
    
    
    Run

Reply via email to