Defines `Literal`, a single value or array of values with a specified shape.
`Literal` is similar to `Tensor`, but differs in a number of important ways:
* `Literal` offers a convenient syntax for constructing `Literal`s with boolean and numeric
contents. For example, `True`, `1` and `[1, 2, 3]` are all valid `Literal`s. This makes it
useful for constructing `Tensor`s.
* Operations on `Literal` are *not* accelerated by a graph compiler, so operations on large
`Literal`s, and large sequences of operations on any `Literal`, can be expected to be slower
than they would on an equivalent `Tensor`.
* `Literal` is implemented in pure Idris. As such, values can contain elements of any type, and
implements a number of standard Idris interfaces. This, along with its convenient syntax,
makes it particularly useful for testing operations on `Tensor`s.