data() :: any()
limit() :: integer()
offset() :: integer()
source() :: any()
load(source(), offset(), limit()) :: [data()]