Returns a list of the available interpretations and what they do.

    If indent is specified, then the entire doc string is indented by that amount.

def _get_embeddable_interpretation_doc(indent = 0):
    """
    Returns a list of the available interpretations and what they do.

    If indent is specified, then the entire doc string is indented by that amount.
    """

    output_rows = []

    # Pull out the doc string and put it in a table.
    for name in sorted(dir(_interpretations)):
        if name.startswith("_") or "__" not in name:
            continue

        interpretation, type_str = name.split("__")

        func = getattr(_interpretations, name)

        output_rows.append("%s (%s type):" % (interpretation, type_str))
        output_rows += [("  " + line) for line in _textwrap.dedent(func.__doc__).strip().split("\n")]

        output_rows.append("")

    return "\n".join(" "*indent + line for line in output_rows)