codatatypes and least predicates in Dafny. Does it make any sense? I am trying to deal with infinite lists as follows: