#pragma once #include "phantom.hpp" #include /* We use size_t's for easy indexing. But we do not want to mix states and * inputs. We use phantom typing to "generate" distinguished types :). */ using state = phantom; using input = phantom; using output = phantom; using word = std::vector;