Solidity have certain restrictions on use of a Library: Library functions can be called directly if they do not modify the state. That means pure or view functions only can be called from outside the library . Library can not be destroyed as it is assumed to be stateless. A Library cannot have state variables . A Library cannot inherit from any element. A Library cannot be inherited.
Think big, start small, move fast.