feat(structures): use num instead of nat