- code clean-up -- naming. pass the curr state. ret the next state. etc. - rename to "be-generust" "be_generust::giver" - better error messages - error messages when encountering unsupported stuff (?) item def in rust... like struct and functions... are such things supported? not in V1. Maker::make_giver(...) give!(foo) --> if false { vec!(1) } give_out!(iter) --> for x in xs { give!(x) } - support more expressions - support (infinite) loops - support for loops - support if conditions - support else conditions - support whie loops - parameters support - range - map - filter - hamming number stream - chain - zip - skip (while), take (while), flatten, flat_map - merge sort (merge and sort) - BFS and DFS on trees - map on maps! keys, values, key value pairs - benchmarks - size hint - count?, last? nth? - break - continue - if let - match - try - local variable support - how to drop at the right time... for param in func.sig.generics.type_params() { if !param.bounds.is_empty() { return fail(¶m.bounds, "type bounds must be set in the where clause"); } } for lifetime_def in func.sig.generics.lifetimes() { return fail(&lifetime_def, "lifetime parameters are not supported (yet)"); } for param in func.sig.generics.const_params() { return fail(¶m, "constant parameters are not supported (yet)"); } P0_param L0_local_var