result_t :: {:ok, any} | {:jump, any, t} | {:insert, any, t | [t]} | {:replace, any, t | [t]} | {:error, String.t}
t :: module
run(any, any) :: result_t